package com.ysz.globalexception.assertutil;



/**
 * @ClassName BaseAssert
 * @Description 断言基类
 * @Data 13:27
 * @Version 1.0
 * @Author ysz
 */
public interface BaseAssert {

    /**
     * 创建带throwable的异常
     *
     * @param code 状态码
     * @param msg  信息
     * @param data 返回数据
     * @param e    异常信息
     * @return the Throwable
     * @author ysz
     * @date 2022/3/2 14:03
     */
    Throwable createException(Throwable e, Integer code, String msg, Object data);

    /**
     * 断言方法 参数不能为null
     *
     * @param arg 需要判断的参数
     * @throws Throwable 基类异常
     * @author ysz
     * @date 2022/3/2 14:07
     */
    void notNull(Object arg) throws Throwable;

    /**
     * 断言方法 参数不能为null
     *
     * @param arg 需要判断的参数
     * @param e   异常信息
     * @throws Throwable 可抛出异常
     * @author ysz
     * @date 2022/3/2 14:07
     */
    void notNull(Throwable e, Object arg) throws Throwable;
}
